package com.betterjr.modules.contract;

import java.util.Map;

/** 
 * @ClassName: IContractProtocoList 
 * @Description: 协议清单服务 
 * @author xuzx
 * @date 2017年10月26日 上午10:34:42 
 *  
 */
public interface IContractProtocoListService {
    /**
     * 保存协议清单和签署方信息 
     * @Title: webSaveContractProtocol 
     * @Description: 保存协议清单和签署方信息 
     * @param anMap 对象参数
     * @param anRequestNo  业务编号
     * @param anTemplateFileId 上传文件编号
     * @param anCommonNo  机构编号
     * @return 保存的对象
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:51:40
     */
    String webSaveContractProtocol(Map<String, Object> anMap, String anRequestNo, String anTemplateFileId,
            String anCommonNo);

    /**
     * 查询电子合同详情
     * @Title: webQueryElectronicContract 
     * @Description: 查询电子合同
     * @param anParam 对象参数
     * @param anCustNo  机构编号
     * @return  查询电子合同
     * @throws 电子合同详情
     * @author xuzx
     * @date 2017年11月3日 下午1:51:44
     */
    String webQueryElectronicContract(Map<String, Object> anParam, Long anCustNo);

    /**
     * 分页查询列表清单
     * @Title: webQueryContractProtocol 
     * @Description: 分页查询列表清单
     * @param anParam 对象参数
     * @param anRequestNo 业务单号
     * @param anFlag 是否统计
     * @param anPageNum 页码
     * @param anPageSize 页面大小
     * @return 列表清单
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:51:48
     */
    String webQueryContractProtocol(Map<String, Object> anParam, String anRequestNo, int anFlag, int anPageNum,
            int anPageSize);

    /**
     * 删除列表清单
     * @Title: webDelContractProtocol 
     * @Description: 删除列表清单
     * @param id 清单编号
     * @return 删除数量
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:51:51
     */
    String webDelContractProtocol(long id);

    /**
     * 更新列表清单
     * @Title: webUpdateContractProtocol 
     * @Description: 更新列表清单 
     * @param anMap 对象参数
     * @param id 对象编号
     * @param customTemplateId 上传文件id
     * @param commonNo 机构编号
     * @return 更新对象
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:51:55
     */
    String webUpdateContractProtocol(final Map<String, Object> anMap, long id, String customTemplateId,
            String commonNo);

    /**
     * 查询机构详细信息
     * @Title: webqueryInformation 
     * @Description: 查询机构详细信息
     * @param commonNo  机构编号
     * @return 机构详细信息
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:51:59
     */
    String webqueryInformation(long commonNo);

    /**
     * 查询签署方信息
     * @Title: webqueryListSignatories 
     * @Description: 查询签署方信息
     * @param id 协议清单
     * @return 清单签署方信息
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:52:02
     */
    String webqueryListSignatories(long id);

    /**
     * 根据清单编号查看清单协议详情信息
     * @Title: webContractProtocoListService 
     * @Description: 查看清单详情信息 
     * @param id    清单编号
     * @return 清单详情信息
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:52:05
     */
    String webContractProtocoListService(long id);

    /**
     * 根据协议编号查看合同略缩图
     * @Title: webQueryIntoPictures 
     * @Description: 查看略缩图
     * @param anContractProtocoId 协议清单编号
     * @return 清单略缩图
     * @throws 
     * @author xuzx
     * @date 2017年11月3日 下午1:52:08
     */
    String webQueryIntoPictures(Long anContractProtocoId);

    /**
     * 保存签章位置 
     * @Title: webSaveSignatureLocations 
     * @Description: 保存签章位置 
     * @param anParamMap 签章位置集合
     * @param contractProtocoId  协议清单编号
     * @return 签章位置 
     * @throws 
     * @author xuzx
     * @date 2017年11月5日 下午6:51:24
     */
    String webSaveSignatureLocations(Map<String, Object> anParamMap, final Long contractProtocoId);

    /**
     * 根据协议清单编号查看签署位置
     * @Title: webQuerySignatureLocations 
     * @Description: 查看签署位置 
     * @param contractProtocoId
     * @return 签章位置详情
     * @throws 
     * @author xuzx
     * @date 2017年11月7日 下午1:42:52
     */
    String webQuerySignatureLocations(final Long contractProtocoId);

    /**
     * 根据协议清单编号查看签署方信息，签章位置
     * @Title: webQueryAssociatedInformation 
     * @Description: 署方信息，签章位置
     * @param contractProtocoId
     * @return 协议清单详情，签署方信息详情，签章位置详情
     * @throws 
     * @author xuzx
     * @date 2017年11月7日 下午1:43:50
     */
    String webQueryAssociatedInformation(final Long contractProtocoId);

}
